package ig.metrica.ui.conexion;

import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.JOptionPane;

import ig.metrica.origenesdedatos.ConexionBean;
import ig.metrica.ui.PantallaBusquedaSevinproPanel;
import ig.metrica.ui.WizzardSevinproPanel;
import java.util.*;
//import org.apache.log4j.Logger;

public class PantallaBusquedaConexion extends PantallaBusquedaSevinproPanel {
//        private static Logger log = Logger.getLogger(PantallaBusquedaConexion.class.getName());
	private PantallaDatosBasicosConexion panel;
	private String[] titulos;
	private ArrayList datos;
	
	public PantallaBusquedaConexion( PantallaDatosBasicosConexion panel, WizzardSevinproPanel wizzard ){
		super(panel, wizzard, new ModeloTablaResultadoBusquedaConexion(new String[] {"Id", "Nombre", "Driver", "URL", "Usuario", "Password"}, new ArrayList()) );
		this.panel = panel;			
		this.datos = new ArrayList();
		((ModeloTablaResultadoBusquedaConexion)tabla.getModel()).setDatos( datos );		
	}
	
	protected void accionBuscar(){
                setCursor(new java.awt.Cursor(java.awt.Cursor.WAIT_CURSOR));
		datos = new ArrayList();
		
		/*Properties prop = new Properties();
		prop.put( Context.INITIAL_CONTEXT_FACTORY, IGBean.INITIAL_CONTEXT_FACTORY);
		
		String Sockec = new ConexionServer().getSocketServer();
		prop.put( Context.PROVIDER_URL, Sockec);*/
		
		try {
			//InitialContext ctx = new InitialContext(prop);
			//ConexionHome home = (ConexionHome)ctx.lookup("ig.metrica.origenesdedatos.Conexion");
			List resultado = new ConexionBean().ejbFindByPropiedades( panel.getNombre(), panel.getDriver(), panel.getURL(), panel.getUsuario(), panel.getPassword() );
			Iterator i = resultado.iterator();
			while (i.hasNext()){
				ConexionBean conexion = (ConexionBean)i.next();
				Object[] registro = new Object[6];
				registro[0] = new Long( conexion.getId() );
				if(conexion.getNombre()!=null) registro[1] = new String( conexion.getNombre() );
				if(conexion.getDriver()!=null) registro[2] = new String( conexion.getDriver() );
				if(conexion.getUrl()!=null) registro[3] = new String( conexion.getUrl() );
				if(conexion.getUsuario()!=null) registro[4] = new String( conexion.getUsuario() );
				if(conexion.getPassword()!=null) registro[5] = new String( conexion.getPassword());
				datos.add( registro );
			}
		} catch (Exception e) {
			//JOptionPane.showInternalMessageDialog( this,"Error: \n"+e.toString() );
//                        log.error(e.toString());
                        JOptionPane.showMessageDialog( this,"Error:"+ e.toString(),"Mensaje",JOptionPane.OK_CANCEL_OPTION );
		}		
		((ModeloTablaResultadoBusquedaConexion)tabla.getModel()).setDatos( datos );
                setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));	
	}
}